import java.util.Random;
import java.util.Scanner;

public class TestDemo {
    public static void main27(String[] args) {
        //输出一个整数的每一位
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int num=0;
        while(n>0){
            num=n%10;
            n/=10;
            System.out.println(num);
        }
    }
    public static void main(String[] args) {
        //写一个函数返回一个数二进制中1的个数
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int count=0;
        /*while(n!=0){
            if((n&1)==1){
                count++;
            }
            n=n>>>1;//无符号右移
        }
        System.out.println(count);*/
        while(n!=0){
            n=n&(n-1);
            count++;
        }
        System.out.println(count);
    }
    public static void main25(String[] args) {
        //编写代码模拟三次密码输入的场景。
        //最多能输入三次密码，密码正确，提示"登录成功",密码错误，可以重新输入，最多输入三次。
        //三次均错，则提示退出程序
        Scanner sc=new Scanner(System.in);
        String str="123456";
        int count=3;
        System.out.println("请输入密码：");
        while(true){
            String s=sc.nextLine();
            if(s.equals(str)){
                System.out.println("密码正确！");
                break;
            }else{
                count--;
                if(count==0){
                    System.out.println("密码输入错误三次，退出程序!");
                    break;
                }else{
                    System.out.println("密码错误，请重新输入，你还有"+count+"次机会！");
                }

            }
        }

    }
    public static void main24(String[] args) {
        //找出0-999999之间的自幂数
        for(int i=0;i<=999999;i++){
            //求位数
            int temp=i;
            int count=0;
            while(temp>0){
                temp/=10;
                count++;
            }
            //求temp的每一位
            temp=i;
            int sum=0;
            while(temp>0){
                sum+=(int)Math.pow(temp%10,count);
                temp/=10;
            }
            if(sum==i){
                System.out.println(i);
            }
        }
    }
    public static void main23(String[] args) {
        //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。
        int flg=1;
        double sum=0;
        for(int i=1;i<=100;i++){
            sum+=flg*1.0/i;
            flg*=-1;
        }
        System.out.println(sum);
    }
    public static void main22(String[] args) {
        //求两个正整数的最大公约数
        Scanner sc= new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        int ret=1;
        while(ret>0){
            ret=a%b;
            a=b;
            b=ret;
        }
        System.out.println(a);
    }
    public static void main21(String[] args) {
        //输出乘法口诀表
        Scanner sc= new Scanner(System.in);
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+(i*j)+" ");
            }
            System.out.println();
        }
    }
    //猜数字游戏
    public static void main20(String[] args) {
        //先产生一个随机数【1-100】
        Random random=new Random();//这里的随便填一个数字，每回生成的随机数就是一样的（伪随机数）
        int rand=random.nextInt(100)+1;//random.nextInt(100)范围[0,100),+1之后的范围[1,101)
        System.out.println("请输入你要猜的数字");
        Scanner sc= new Scanner(System.in);
        while(true){
            int n=sc.nextInt();
            if(n>rand){
                System.out.println("大了！");
            }else if(n<rand){
                System.out.println("小了！");
            }else{
                System.out.println("猜对了！！！");
                break;
            }
        }
    }
    public static void main19(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入你的姓名：");
        String name = sc.nextLine();
        System.out.println(name);
        System.out.println("请输入你的年龄：");
        int age = sc.nextInt();
        System.out.println(age);
        System.out.println("请输入你的工资：");
        float salary = sc.nextFloat();
        System.out.println(salary);
        sc.close(); // 注意, 要记得调用关闭方法
    }
    public static void main18(String[] args) {
        while(true){
            System.out.println("这是一个while死循环");
        }
        /*for(;;){
            System.out.println("这是一个for死循环");
        }*/
    }
    //求1-100之间技能被3整除又能被5整除的数 要求：使用break或者continue
    public static void main17(String[] args) {
        for(int i=1;i<=100;i++){
            if(i%15 != 0){
                continue;
            }
            System.out.println(i);
        }
    }
    public static void main16(String[] args) {
        //求5！+4!+3!+2!+1!的和
        int sum=0;
        for(int i=1;i<=5;i++){
            int ret=1;
            for(int j=1;j<=i;j++){
                ret*=j;
            }
            sum+=ret;
        }
        System.out.println(sum);
    }
    public static void main15(String[] args) {
        //求5的阶乘
        int i=1;
        int fac=1;
        while(i<=5){
            fac*=i;
            i++;
        }
        System.out.println(fac);
    }
    public static void main14(String[] args) {
        //求1到100之间偶数的和
        int i=2;
        int sum1=0;
        while(i<=100){
            sum1+=i;
            i+=2;
        }
        //求1到100之间奇数的和
        i=1;
        int sum2=0;
        while(i<=100){
            sum2+=i;
            i+=2;
        }
        System.out.println(sum1+" "+sum2);
    }
    public static void main13(String[] args) {
        System.out.print("请输入年龄");
        Scanner sc=new Scanner(System.in);
        int age=sc.nextInt();
        if(age<=18){
            System.out.println("是少年");
        }else if (age<=28){
            System.out.println("是青年");
        }else if (age<=55){
            System.out.println("是中年");
        }else{
            System.out.println("是老年");
        }
    }
    public static void main12(String[] args) {
        for(int i=2;i<=100;i++){
            int j=2;
            for(;j<=Math.sqrt(i);j++){
                if(i%j==0){
                    break;//遇到可以整除的数，结束循环
                }
            }
            //走到这一步有两种情况：1.遇到break 2.走完所有的循环，发现都不能整除
            if(j>Math.sqrt(i)){
                System.out.println(i);
            }
        }
    }
    public static void main11(String[] args) {
        for(int i=1000;i<=2000;i++) {
            if(i%4 == 0 && i%100 != 0 || i%400 == 0){
                System.out.println(i);
            }
        }
    }
    public static void main10(String[] args) {
        int count=0;
        for(int i=0;i<=100;i++){
            if(i%10==9){
                count++;
            }
            if(i/10==9){
                count++;
            }
        }
        System.out.println(count);
    }
    public static void main9(String[] args) {
        int a=10;
        int b=30;
        int c=20;
        int max1= a>b ? a : b;
        //int max2= c>max1 ? c : max1;
        int max2= c>(a>b ? a : b) ? c : (a>b ? a : b);
        System.out.println(false==false ? (true==true ? false : true):true);//false
    }
    public static void main8(String[] args) {
        System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false
        System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true
    }
    public static void main7(String[] args) {
        int a=10;
        int b=a++;//b=a a=a+1
        int c=++a;//a=a+1 c=a
        System.out.println(a);//11
        System.out.println(b);//10
        System.out.println(c);//11
    }
    public static void main6(String[] args) {
        short b=2;
        //b=b+2;
        b+=2;//经过了一次强制类型转换b=(short)b+2
    }
    public static void main5(String[] args) {
        System.out.println(12.5%2.0);//0.5  12.5/2.0=6.0+0.5
    }
    public static void main4(String[] args) {
        System.out.println(10%3);//1
        System.out.println(10%-3);//1
        System.out.println(-10%3);//-1
        System.out.println(-10%-3);//-1
    }
    public static void main3(String[] args) {
        System.out.println(5/2);//2
        System.out.println((float)5/2);//2.5
        System.out.println(5/(float)2);//2.5
        System.out.println((float)(5/2));//2.0
    }
    public static void main2(String[] args) {
        String s = "10";
        //方法一
        int a = Integer.valueOf(s);
        //方法二
        int b = Integer.parseInt(s);
        System.out.println(a+b);
    }
    public static void main1(String[] args) {
        int a=10;
        //方法一
        String s1=a+"";
        //方法二
        String s2=String.valueOf(a);
    }
}
